package cn.ljh.zard.listen;

import cn.ljh.zard.executor.BaseExecutor;
import cn.ljh.zard.listen.event.ZardEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.concurrent.Future;

/**
 * 监听的基本接口功能
 */
public interface BaseListener {

    Logger logger = LoggerFactory.getLogger(BaseListener.class);

    /**
     * 初始化方法
     */
    default void init() {
        String name = getClass().getName();
        logger.info(name);
    }

    /**
     * 获取当前监听器的名字
     *
     * @return
     */
    default String getName() {
        return getClass().getName();
    }


    void listenEvent(ZardEvent zardEvent, BaseExecutor baseExecutor);
}
